amd: fix CPUID mask option handling
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 15 Oct 2008 14:57:20 +0000 (15:57 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 15 Oct 2008 14:57:20 +0000 (15:57 +0100)
c/s 18402 added command line options to AMD-specific code duplicating
ones already existing in Intel code. The generic command line parser
didn't support this scenario for integer options, however.

Additionally, the options added were using the same option string for
two different purposes.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/cpu/amd.c
xen/common/kernel.c

index 407ecf33bf4f8ac83f41a32253ac5f4be9545661..1f13d93a214444c8454cbcad7435b1265c8dbe69 100644 (file)
@@ -37,8 +37,8 @@ static unsigned int opt_cpuid_mask_ecx, opt_cpuid_mask_edx;
 integer_param("cpuid_mask_ecx", opt_cpuid_mask_ecx);
 integer_param("cpuid_mask_edx", opt_cpuid_mask_edx);
 static unsigned int opt_cpuid_mask_ext_ecx, opt_cpuid_mask_ext_edx;
-integer_param("cpuid_mask_ecx", opt_cpuid_mask_ext_ecx);
-integer_param("cpuid_mask_edx", opt_cpuid_mask_ext_edx);
+integer_param("cpuid_mask_ext_ecx", opt_cpuid_mask_ext_ecx);
+integer_param("cpuid_mask_ext_edx", opt_cpuid_mask_ext_edx);
 
 static inline void wrmsr_amd(unsigned int index, unsigned int lo, 
                unsigned int hi)
index 277ac21b64db07195fa18fe262ed079bbe240318..2a88602e518b7cf352c2ba946b90a62c069717fd 100644 (file)
@@ -75,8 +75,7 @@ void cmdline_parse(char *cmdline)
                 strlcpy(param->var, optval, param->len);
                 break;
             case OPT_UINT:
-                *(unsigned int *)param->var =
-                    simple_strtol(optval, (const char **)&optval, 0);
+                *(unsigned int *)param->var = simple_strtol(optval, NULL, 0);
                 break;
             case OPT_BOOL:
             case OPT_INVBOOL: